'use strict';
const db = uniCloud.database();
const collection = db.collection('user'); // 用户表集合

exports.main = async (event, context) => {
  const { action } = event;
  
  // 登录逻辑（保留原有）
  if (action === 'login') {
    const user = await collection.where({
      username: event.username,
      password: event.password
    }).get();
    
    if (user.affectedDocs < 1) {
      return { code: -1, msg: '用户名或密码错误' };
    } else {
      return { 
        code: 200, 
        msg: '登录成功', 
        // 可选：返回用户信息或 Token（需根据业务添加）
        // userInfo: user.data[0], 
        // token: 'your-token' 
      };
    }
  }

  // 新增注册逻辑
  if (action === 'register') {
    const { username, password, confirmPassword } = event;
    
    // 基础校验（建议后端重复校验，防止绕过前端）
    if (!username || username.length < 3) {
      return { code: 400, msg: '用户名需至少3个字符' };
    }
    if (!password || password.length < 6) {
      return { code: 400, msg: '密码需至少6个字符' };
    }
    if (password !== confirmPassword) {
      return { code: 400, msg: '两次密码不一致' };
    }

    // 检查用户名是否已存在
    const existUser = await collection.where({ username }).get();
    if (existUser.affectedDocs > 0) {
      return { code: 409, msg: '用户名已被注册' };
    }

    // 插入新用户（建议对密码进行加密存储）
    const addResult = await collection.add({
      username,
      password
    });

     if (addResult.id) {
        return { 
          code: 201, 
          msg: '注册成功',
          userId: addResult.id // 返回新用户ID（可选）
        };
      } else {
        return { code: 500, msg: '注册失败，请重试' };
      }
  }

  // 未知操作
  return { code: 404, msg: '无效操作' };
};